package com.cci.kangdao.escalation.service;

import com.cci.kangdao.dto.PagedRequest;
import com.cci.kangdao.escalation.dto.request.GetEscalationOrderListRequest;
import com.cci.kangdao.escalation.dto.request.SubmitReasonRequest;
import com.cci.kangdao.escalation.dto.request.SubmitSolutionRequest;
import com.cci.kangdao.escalation.dto.response.GetEscalationOrderDetailResponse;
import org.springframework.transaction.annotation.Transactional;

public interface EscalationService {

    void submitEscalation(SubmitReasonRequest request) throws Exception;

    void getEscalationOrderList(PagedRequest pagedRequest, GetEscalationOrderListRequest request);

    GetEscalationOrderDetailResponse getEscalationOrderDetail(Long orderId, String roleNo);

    void getWorkOrderListForEscalation(PagedRequest pagedRequest, String keyword, String roleType);

    void remindFeedback(Long orderId, Integer type, String number) throws Exception;

    void submitEscalationSolution(SubmitSolutionRequest request) throws Exception;

    void confirmEscalationSolution(String roleNo, Long orderId) throws Exception;

    void disableEscalationByWorkOrderId(Long workOrderId, Integer type);
}
